package com.ship.common.core.mapping;


import java.lang.annotation.*;

import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * @author 31463
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(value = {ElementType.FIELD})
@Repeatable(TableColumn.List.class)
public @interface TableColumn {

    String group() default "";

    int priority() default 0;

    int abbr() default 0;

    int width() default 0;

    boolean sortable() default true;

    String tagType() default "";

    String children() default "";

    @Target({ElementType.FIELD})
    @Retention(RUNTIME)
    @Documented
    public @interface List {
        TableColumn[] value();
    }
}
